/*****************************************************************************/
/*!	\file		LocalData.h
 *	\brief		Header file for the YX-PIS Example
 *	\par		Dalian Yunxing Tech Co., Ltd.
 *
 *				Dalian, China
 *				Phone   : +86 (411) 8825 4852
 *				Email   : yx@yunxing.tech
 */
/*****************************************************************************/
#ifndef LOCAL_DATA_INCLUDED
#define LOCAL_DATA_INCLUDED 1

#include <stdio.h>
#include "IEC61850Types.h"
#include "ExampleTypes.h"

#define SIZE_OF_PDIF_ARRAY 6
#define SIZE_OF_ERROR_STRING 255

/* Needed to make snprintf work in Visual Studio */
#ifdef _MSC_VER
	#if _MSC_VER
		#define snprintf _snprintf
	#endif
#endif

/* CSWI */
eDbPosValues GetCSWIStVal();
eDbPosValues SetCSWIStVal(eDbPosValues stVal);

/* GGIO */
Boolean GetGGIOStVal(int index);
Boolean SetGGIOStVal(Boolean stVal, int index);

/* TTNS */
Float32 GetTTNSTnsSv1Magf();
Float32 GetTTNSTnsSv2Magf();
Float32 GetTTNSTnsSv3Magf();
Float32 SetTTNSTnsSv1Magf(Float32 inMagf);
Float32 SetTTNSTnsSv2Magf(Float32 inMagf);
Float32 SetTTNSTnsSv3Magf(Float32 inMagf);

/* MMXU */
S32 GetMMXUPhsAMagi();
S32 SetMMXUPhsAMagi(S32 inPhsMagi);
S32 GetMMXUPhsBMagi();
S32 SetMMXUPhsBMagi(S32 inPhsMagi);
S32 GetMMXUPhsCMagi();
S32 SetMMXUPhsCMagi(S32 inPhsMagi);

/* IARC */
S32 GetMaxNumRcd();
S32 GetOpMod();
S32 GetMemFull();
S32 SetMaxNumRcd(S32 inVal);
S32 SetOpMod(S32 inVal);
S32 SetMemFull(S32 inVal);

/* PDIF */
CrvPts GetPDIFCrvPts(S8 index);
CrvPts SetPDIFCrvPts(S8 index, CrvPts crvPts);

/* ErrorString*/
char* GetErrorString();
char* SetErrorString(char* errorString, U16 length);

#endif
